package cn.iocoder.yudao.module.crossborder.order.dal.dataobject.ordercustomer;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 跨境电商客户信息 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_order_customer")
@KeySequence("crossborder_order_customer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderCustomerDO extends BaseDO {

    /**
     * 客户编号
     */
    @TableId
    private Long id;
    /**
     * 客户编号
     */
    private String customerNo;
    /**
     * 平台客户ID
     */
    private String platformCustomerId;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 名
     */
    private String firstName;
    /**
     * 姓
     */
    private String lastName;
    /**
     * 全名
     */
    private String fullName;
    /**
     * 昵称
     */
    private String nickname;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 性别（1男 2女 3未知）
     */
    private Integer gender;
    /**
     * 生日
     */
    private LocalDate birthday;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 语言代码
     */
    private String languageCode;
    /**
     * 货币代码
     */
    private String currencyCode;
    /**
     * 时区
     */
    private String timezone;
    /**
     * 客户类型（1个人 2企业）
     */
    private Integer customerType;
    /**
     * 客户等级（1普通 2银牌 3金牌 4钻石 5VIP）
     */
    private Integer customerLevel;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 税号
     */
    private String taxNumber;
    /**
     * 营业执照号
     */
    private String businessLicense;
    /**
     * 注册来源
     */
    private String registrationSource;
    /**
     * 注册IP
     */
    private String registrationIp;
    /**
     * 注册时间
     */
    private LocalDateTime registrationTime;
    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginTime;
    /**
     * 最后登录IP
     */
    private String lastLoginIp;
    /**
     * 总订单数
     */
    private Integer totalOrderCount;
    /**
     * 总订单金额
     */
    private BigDecimal totalOrderAmount;
    /**
     * 总支付金额
     */
    private BigDecimal totalPaidAmount;
    /**
     * 平均订单金额
     */
    private BigDecimal avgOrderAmount;
    /**
     * 最后下单时间
     */
    private LocalDateTime lastOrderTime;
    /**
     * 信用额度
     */
    private BigDecimal creditLimit;
    /**
     * 已用信用额度
     */
    private BigDecimal creditUsed;
    /**
     * 积分余额
     */
    private Integer pointsBalance;
    /**
     * 累计积分
     */
    private Integer pointsTotal;
    /**
     * 状态（0正常 1冻结 2黑名单）
     */
    private Integer status;
    /**
     * 邮箱是否验证
     */
    private Boolean emailVerified;
    /**
     * 手机是否验证
     */
    private Boolean phoneVerified;
    /**
     * KYC状态（0未认证 1认证中 2已认证 3认证失败）
     */
    private Integer kycStatus;
    /**
     * 风险等级（1低 2中 3高）
     */
    private Integer riskLevel;
    /**
     * 客户标签，逗号分隔
     */
    private String tags;
    /**
     * 备注
     */
    private String remark;


}
